package com.gxc.graph;

import java.util.Map;
import java.util.Scanner;

/**
 * 祖国西北部有一片大片荒地，其中零星的分布着一些湖泊，保护区，矿区;
 * 整体上常年光照良好，但是也有一些地区光照不太好。
 *
 * 某电力公司希望在这里建设多个光伏电站，生产清洁能源对每平方公里的土地进行了发电评估，
 * 其中不能建设的区域发电量为0kw，可以发电的区域根据光照，地形等给出了每平方公里年发电量x千瓦。
 * 我们希望能够找到其中集中的矩形区域建设电站，能够获得良好的收益。
 *
 * 输入描述
 * 第一行输入为调研的地区长，宽，以及准备建设的电站【长宽相等，为正方形】的边长最低要求的发电量
 * 之后每行为调研区域每平方公里的发电量
 *
 * 输出描述
 * 输出为这样的区域有多少个
 */
public class PowerStation {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int r = scanner.nextInt();
        int c = scanner.nextInt();
        int s = scanner.nextInt();
        int base = scanner.nextInt();

        int[][] matrix = new int[r][c];
        for (int i = 0; i < matrix.length; i++) {
            for (int j = 0; j < matrix[i].length; j++) {
                matrix[i][j] = scanner.nextInt();
            }
        }

        int res = 0;
        int[][] sum = new int[r][c];
        sum[0][0] = matrix[0][0];
        for (int i = 1; i < sum.length; i++) {
            sum[i][0] = sum[i-1][0] + matrix[i][0];
        }
        for (int i = 1; i < sum[0].length; i++) {
            sum[0][i] = sum[0][i-1] + matrix[0][i];
        }
        for (int i = 1; i < matrix.length; i++) {
            for (int j = 1; j < matrix[i].length; j++) {
                sum[i][j] = sum[i-1][j] + sum[i][j-1] + matrix[i][j] - sum[i-1][j-1];
            }
        }
        for (int i = s-1; i < sum.length; i++) {
            for (int j = s-1; j < sum[i].length; j++) {
                int front = 0;
                if (i-s>=0 && j-s>=0) {
                    front = sum[i-s][j-s];
                }
                int total = 0;
                if (s==1) {
                    total = matrix[i][j];
                } else {
                    total = sum[i][j] - front;
                }
                if (total >= base) res++;
            }
        }
        System.out.println(res);
        scanner.close();
    }
}
